#!/bin/bash
MYLOGFILE="/var/www/html/backup.html"
source /usr/bin/gxcc_common.sh

#保证该脚本在同一时间只能有一个执行
if (set -o noclobber;echo "nothing" > ${WEB_DIR}/${LOCK_FILE_BACKUP}) 2> /dev/null;then
    trap 'rm -f ${WEB_DIR}/${LOCK_FILE_BACKUP};exit $?' INT TERM EXIT
    
    echo "<!DOCTYPE html><html>" > $MYLOGFILE
    echo "<p><a href=\"index.html\" target=\"_blank\"><b>本节点：${THIS_NODE_IP}</b></a></p>" >> $MYLOGFILE
    echo "<p><b>脚本名称：${BASH_SOURCE[0]}</b></p>" >> $MYLOGFILE
    echo "<p><b>执行时间：$(date "+%Y-%m-%d %H:%M:%S")</b></p>" >> $MYLOGFILE

    if [ `whoami` != "root" ];then echo "<p>须以root用户执行，执行结束</p></html>" >> $MYLOGFILE;exit 1;fi
    if ! check_this_node_ip $MYLOGFILE;then echo "<p>本节点IP设置错误，执行结束</p></html>" >> $MYLOGFILE;exit 1;fi

    check_this_node_running $MYLOGFILE
    if [ $? -eq 0 ];then
	echo "<p>本节点：RUNNING，执行备份</p>" >> $MYLOGFILE
	echo "<p>命令：/usr/bin/rsync -avz --progress /data/* root@10.0.0.170::databackup</p>" >> $MYLOGFILE
	echo "<p>此处决不能添加--delete参数，确保文件误删时，备份数据不会同步删除</p>" >> $MYLOGFILE
	echo "<p>也是确保一旦程序故障，在未挂载共享磁盘的节点上同步数据，不会删除备份机上的所有数据</p>" >> $MYLOGFILE
	echo "<p>应当由人工定时执行--delete参数，以清理不再需要的数据</p>" >> $MYLOGFILE
	echo "<p>" >> $MYLOGFILE
	/usr/bin/rsync -avz --progress /data/* root@10.0.0.170::databackup >> $MYLOGFILE 2>&1
	echo "</p>" >> $MYLOGFILE
    else
	echo "<p>本节点：不是RUNNING状态，不执行备份</p>" >> $MYLOGFILE
    fi
    
    echo "<p>执行结束</p></html>" >> $MYLOGFILE
else
    echo "重复执行"
fi
